home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 1 (Walnut Creek)
/
Aminet - June 1993 [Walnut Creek].iso
/
usenet
/
sources
/
volume90
/
util
/
bsindex1
/
part01
/
src
/
bbs.h
next >
Wrap
Text File
|
1990-02-02
|
3KB
|
99 lines
/*
* Standard BBS-PC! headers (with a few modifications)
*
* Important note: This header file cannot be precompiled with
* Lattice C V5.02, because of a bug which prevents bit fields
* from working properly when they are precompiled.
*/
/* Official Micro-Systems Software Structures */
#define NUM_TERM 10 /* Number of computer types */
#define NUM_SECT 16 /* Number of section names */
#define CAT_LEN 15 /* File catalogue name lengths */
#define DESC_LEN 40 /* File catalogue desc length */
#define FNAME_LEN 12 /* File name lengths */
#define FPATH_LEN 30 /* File name path lengths */
#define NAME_LEN 24 /* User name length */
#define PASS_LEN 10 /* User password length */
#define SECT_LEN 20 /* Section name lengths */
#define TERM_LEN 15 /* Computer name lengths */
/* UDHEAD.DAT record structure */
/* Note some new additions to this structure, for internal tracking */
typedef struct {
BYTE type;
int local:1; /* True if local upload */
int bin:1; /* True if binary file */
int valid:1; /* True if valid NEW */
int online:1; /* True if file online NEW */
int dirnum:5; /* Real dir num of file NEW */
int :7; /* Reserved CHANGED */
char cat_name[CAT_LEN]; /* Catalog filename (key1) */
UWORD date; /* Upload date serial */
BYTE dir; /* Dir number (key2 - seg1) */
BYTE section; /* Section number (key2 - seg2) */
UWORD accesses; /* Number of accesses */
LONG length; /* File length */
char disk_name[FNAME_LEN+1]; /* Disk filename */
char owner[NAME_LEN+1]; /* Owner's name */
char desc[DESC_LEN+1]; /* Description text */
} UDHEAD;
#define UDSIZE sizeof(UDHEAD)
/* Terminal parameters */
typedef struct {
int linefeed: 1;
int :31;
BYTE nuls;
BYTE protocol;
BYTE align;
BYTE page[2];
BYTE cls[4];
BYTE bs[3];
char name[TERM_LEN+1];
} TRMNL;
/* CFGINFO.DAT record structure */
typedef struct {
int dir0_ok: 1; /* Directory 0 downloads */
int by_call: 1; /* Time limit per call */
short max_msg; /* Maximum messages in system */
short max_user; /* Maximum users in system */
short max_log; /* Maximum call log */
short max_ud; /* Maximum U/D files */
short reward; /* Upload reward */
short sleeptime; /* sleep timeout (adjusted) */
long dummy; /* Reserved */
BYTE log_p1; /* Log privilege low */
BYTE log_p2; /* Log privilege high */
BYTE hi_men; /* Highest menu set */
BYTE log_type; /* Login method */
short limit[2]; /* Guest/member time limits */
short priv[2]; /* Guest/member privileges */
UWORD rd_acc[2]; /* Guest/member read access */
UWORD wr_acc[2]; /* Guest/member write access */
UWORD up_acc[2]; /* Guest/member upload access */
UWORD dn_acc[2]; /* Guest/member download access */
BYTE sav_sec[2]; /* Guest/member save section */
BYTE sec_flg[NUM_SECT]; /* Section flags */
char sec_name[NUM_SECT] [SECT_LEN+1]; /* Section names */
char ud_alt[NUM_SECT] [FPATH_LEN+1]; /* Alternate UD paths */
char syspass[PASS_LEN+1]; /* Sysop password */
BYTE menu[2]; /* Guest/Member menu sets */
BYTE align;
long dummy2;
long dummy3;
TRMNL trmnl[NUM_TERM]; /* Terminal parameters */
} CFGINFO;
#define CFGSIZE sizeof(CFGINFO)